/**
 * <copyright>
 * </copyright>
 *
 * 
 */
package OrchestrationLanguage.resource.ol.mopp;

public class OlProblem implements OrchestrationLanguage.resource.ol.IOlProblem {
	
	private String message;
	private OrchestrationLanguage.resource.ol.OlEProblemType type;
	private OrchestrationLanguage.resource.ol.OlEProblemSeverity severity;
	private java.util.Collection<OrchestrationLanguage.resource.ol.IOlQuickFix> quickFixes;
	
	public OlProblem(String message, OrchestrationLanguage.resource.ol.OlEProblemType type, OrchestrationLanguage.resource.ol.OlEProblemSeverity severity) {
		this(message, type, severity, java.util.Collections.<OrchestrationLanguage.resource.ol.IOlQuickFix>emptySet());
	}
	
	public OlProblem(String message, OrchestrationLanguage.resource.ol.OlEProblemType type, OrchestrationLanguage.resource.ol.OlEProblemSeverity severity, OrchestrationLanguage.resource.ol.IOlQuickFix quickFix) {
		this(message, type, severity, java.util.Collections.singleton(quickFix));
	}
	
	public OlProblem(String message, OrchestrationLanguage.resource.ol.OlEProblemType type, OrchestrationLanguage.resource.ol.OlEProblemSeverity severity, java.util.Collection<OrchestrationLanguage.resource.ol.IOlQuickFix> quickFixes) {
		super();
		this.message = message;
		this.type = type;
		this.severity = severity;
		this.quickFixes = new java.util.LinkedHashSet<OrchestrationLanguage.resource.ol.IOlQuickFix>();
		this.quickFixes.addAll(quickFixes);
	}
	
	public OrchestrationLanguage.resource.ol.OlEProblemType getType() {
		return type;
	}
	
	public OrchestrationLanguage.resource.ol.OlEProblemSeverity getSeverity() {
		return severity;
	}
	
	public String getMessage() {
		return message;
	}
	
	public java.util.Collection<OrchestrationLanguage.resource.ol.IOlQuickFix> getQuickFixes() {
		return quickFixes;
	}
	
}
